// 导入核心模块 fs
const fs = require('fs')
// 使用 express 搭建一个服务器
const express = require('express')
// 创建一个服务器
const app = express()
// 托管静态资源
app.use(express.static('views'))
// 设置路由
app.get('/', (req, res) => {
  res.send('<h1>hello world</h1>')
})

// 客户端渲染的接口
app.get('/getCSRData', (req, res) => {
  // 导入数据
  var data = require('./data.js')
  // 返回一段数据
  res.send(JSON.stringify(data))
})

// 服务端渲染的接口
app.get('/getSSR', (req, res) => {
  // 得到 html 结构
  fs.readFile('./views/ssr.html', (error, data) => {
    if (error) {
      return
    }
    // 得到数据
    const dataObj = require('./data.js')
    // 遍历 dataObj， 生成 ul 结构
    var ulStr = ''
    dataObj.forEach(item => {
      ulStr += `<li>${item.name}</li>`
    })
    // 将 html 结构中的 ^.^ 替换为 ulStr
    var html = data.toString().replace('^.^', ulStr)
    // 响应一个完整的 html 页面'
    res.send(html)
  })
})

// 开启监听
app.listen(3000, () => {
  console.log('running')
})
